home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d918.lha / MultiPlot / Rexx / Scripts / joinsets.mpt < prev    next >
Text File  |  1993-10-04  |  2KB  |  111 lines

  1. /* This script joins two data sets */
  2.  
  3.  
  4. port= 'MULTIPLOT.01'
  5. RESULT=''
  6. RC=0
  7.  
  8. /* Check Multiplot is running */
  9. options results
  10. if(~show('p',port)) then do
  11.   say "Please start Multiplot first"
  12.   exit 1
  13. end
  14. address value port
  15.  
  16. /* Check a PLOT WINDOW is active */
  17. 'QUERY'
  18. if(rc ~=0) then do
  19.   say "QUERY command failed!"
  20.   exit 1
  21. end
  22. if(compare('PLOWIN',RESULT)<6) then do
  23.   'SAY Please select a PLOT WINDOW first.'
  24.   exit 1
  25. end
  26.  
  27. /* Check two (and no more) Data Sets are selected */
  28. 'PEEK 3 NOVALS'
  29. if(rc =0) then do
  30.   'SAY Please select only 2 Data Sets.'
  31.   exit 1
  32. end
  33. 'PEEK 2 NOVALS'
  34. if(rc~=0) then do
  35.   'SAY Please select 2 Data Sets first.'
  36.   exit 1
  37. end
  38. 'PEEK 1 NOVALS'
  39. if(rc~=0) then do
  40.   'SAY Please select 2 Data Sets first.'
  41.   exit 1
  42. end
  43.  
  44. /* Find out point numbers in each Data Set */
  45. 'LAUNCH'
  46. 'QUE'
  47. set1=word(RESULT,words(RESULT))
  48. 'STOP'
  49. if(rc ~=0) then do
  50.   'SAY ERROR: Failed to query Data Set.'
  51.   exit 1
  52. end
  53. 'QUE'
  54. set2=word(RESULT,words(RESULT))
  55. 'STOP'
  56. if(rc ~=0) then do
  57.   'SAY ERROR: Failed to query Data Set.'
  58.   exit 1
  59. end
  60.  
  61. /* Collect values from first set */
  62. 'PEEK 2 YVALS'
  63. tempy=YVALS
  64. 'PEEK 2 XVALS'
  65. tempx=XVALS
  66. 'PEEK 2 EVALS'
  67. tempe=EVALS
  68. 'PEEK 2 EDWN'
  69. tempedwn=EDWN
  70. 'PEEK 2 XEVALS'
  71. tempxe=XEVALS
  72. 'PEEK 2 XEDWN'
  73. tempxedwn=XEDWN
  74.  
  75. /* Collect values from second set */
  76. 'PEEK 1 YVALS'
  77. 'PEEK 1 XVALS'
  78. 'PEEK 1 EVALS'
  79. 'PEEK 1 EDWN'
  80. 'PEEK 1 XEVALS'
  81. 'PEEK 1 XEDWN'
  82.  
  83. /* Make space for all values in first set */
  84. NOVALS=WORDS(tempy)+WORDS(YVALS)
  85. 'POKE 1 NOVALS'
  86.  
  87. /* Join values from both Data Sets */
  88. YVALS=INSERT(YVALS,tempy)
  89. XVALS=INSERT(XVALS,tempx)
  90. EVALS=INSERT(EVALS,tempe)
  91. EDWN =INSERT(EDWN,tempedwn)
  92. XEVALS=INSERT(XEVALS,tempxe)
  93. XEDWN=INSERT(XEDWN,tempxedwn)
  94.  
  95. /* Replace values in first set */
  96. 'POKE 1 XVALS'
  97. 'POKE 1 YVALS'
  98. 'POKE 1 EVALS'
  99. 'POKE 1 EDWN'
  100. 'POKE 1 XEVALS'
  101. 'POKE 1 XEDWN'
  102.  
  103. /* Delete second set */
  104. 'SELECT SET' set2
  105. 'SELECT REPLACE'
  106. 'DELETE'
  107.  
  108. /* Plot */
  109. 'FULLPLOT'
  110.  
  111.